const fileMap = new Map([
  ["image", ["admin-picture", "图片"]],
  ["video", ["admin-video", "视频"]],
  ["wps", ["admin-WPS", "文档"]],
  ["back", ["admin-fanhui", "返回"]],
  ["zip", ["admin-zip", "压缩包"]],
  ["pdf", ["admin-pdf", "pdf"]]
]);
const imageType = [
  "jpg",
  "JPG",
  "bmp",
  "BMP",
  "mpg",
  "MPG",
  "mpeg",
  "MPEG",
  "tis",
  "TIS",
  "PNG",
  "png",
  "gif",
  "GIF",
  "jpeg",
  "JPEG"
];
const videoType = ["mp4", "avi", "wmv", "rmvb", "MP4", "AVI", "WMV", "RMVB"];
const wpsType = [
  "xls",
  "XLS",
  "xlsx",
  "XLSX",
  "doc",
  "DOC",
  "docx",
  "DOCX",
  "pdf",
  "PDF",
  "PPT",
  "PPTX",
  "ppt",
  "pptx",
  "html",
  "HTML",
  "txt",
  "TXT"
];
const zipType = ["zip", "rar", "gz", "bz2"];

/**
 * 检查文件类型
 * @param { string } fileValue
 * @returns {boolean|string}
 */
const checkFile = fileValue => {
  if (fileValue === "back") {
    return "back";
  } else if (fileValue === "pdf") {
    return "pdf";
  } else if (videoType.includes(fileValue)) {
    return "video";
  } else if (imageType.includes(fileValue)) {
    return "image";
  } else if (wpsType.includes(fileValue)) {
    return "wps";
  } else if (zipType.includes(fileValue)) {
    return "zip";
  }
  return false;
};

/**
 * 获取文件图标
 * @param { string } suffix -文件后缀
 * @returns {string|string}
 */
export const getFileIcon = suffix => {
  const fileType = checkFile(suffix);
  const fileTypeLabel = fileMap.get(fileType);
  return fileType && fileTypeLabel ? fileTypeLabel[0] : "admin-file";
};

/**
 * 获取文件类型
 * @param { string } suffix -文件后缀
 */
export const getFileType = suffix => {
  const fileType = checkFile(suffix);
  const fileTypeLabel = fileMap.get(fileType);
  return fileType && fileTypeLabel ? fileTypeLabel[1] : "其他";
};
